Skip to content

ci: add subprocess/http/unix transport matrix to SQL E2E#1

Merged
rustyconover merged 1 commit into
mainfrom
ci-multi-transport
Jun 24, 2026
Merged

ci: add subprocess/http/unix transport matrix to SQL E2E#1
rustyconover merged 1 commit into
mainfrom
ci-multi-transport

Conversation

@rustyconover

Copy link
Copy Markdown
Contributor

Exercise the full test/sql/* sqllogictest suite over all three VGI transports (subprocess/stdio, HTTP, AF_UNIX).

  • ci/run-integration.sh: parameterized by $TRANSPORT; http boots --http --port 0 --port-file, injects httpfs, silent-skip guard; unix boots --unix.
  • pyproject.toml + PEP 723 header: http extra (vgi-python[http]). Relocked.
  • ci.yml: os x transport matrix; uv sync --frozen --extra http.

All three legs GREEN locally: subprocess/unix 38 assertions, http 44. No cursor fix needed (discovery TableFunctionGenerator (day_count_conventions) — emit+finish in one tick).

🤖 Generated with Claude Code

Exercise the full test/sql/* sqllogictest suite over all three VGI
transports (subprocess/stdio, HTTP, AF_UNIX), not just subprocess.

- ci/run-integration.sh: parameterize by $TRANSPORT. For http, boot the
  worker with `--http --port 0 --port-file <f>`, poll the port-file, set
  LOCATION=http://127.0.0.1:<port>, and inject `INSTALL httpfs FROM core;
  LOAD httpfs;` after each `LOAD vgi;` (the vgi HTTP transport rides on
  httpfs). For unix, boot with `--unix <sock>` and poll the socket.
  Trap-kill the out-of-band worker; cleanup preserves the real exit code.
  Add a silent-skip guard so a broken http leg cannot fake a pass.
- pyproject.toml + quant_worker.py PEP 723 header: add the `http` extra
  (vgi-python[http] -> waitress). Relock.
- .github/workflows/ci.yml: integration job becomes an os x transport
  matrix; install with `uv sync --frozen --extra http`; export WORKER_CMD.

All three legs GREEN locally (haybarn-unittest): subprocess/unix 38
assertions, http 44 (httpfs inject). Table functions here are discovery TableFunctionGenerator (day_count_conventions) — emit+finish in one tick,
so they terminate correctly over the stateless HTTP transport with no
per-scan cursor state needed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rustyconover rustyconover merged commit 6052e1d into main Jun 24, 2026
12 checks passed
@rustyconover rustyconover deleted the ci-multi-transport branch June 24, 2026 01:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant